﻿using System;
using System.Collections.Generic;
using System.Text;

namespace Common.Infrastructure
{
    public class ApiParam
    {
        public ApiParam() : this(string.Empty)
        {
        }

        public ApiParam(string orgId)
        {
            this.OrgId = orgId;
            this.Includes = new List<string>();
            this.Orders = new List<ApiOrderParam>();
            this.Group = new ApiGroupParam();
            this.Params = new List<ApiValueParam>();
            this.ContextCodes = new List<string>();
        }

        public string OrgId { get; set; }

        public List<string> AliasOrgIds { get; set; } = new List<string>();

        public FilterOrgTypeEnum OrgType { get; set; }

        public DateTime? BeginTime { get; set; }

        public DateTime? EndTime { get; set; }

        public List<string> ContextCodes { get; set; }

        public string Keyword { get; set; }

        public string Lang { get; set; }

        public string Sort { get; set; }

        public ApiGroupOrderEnum Order { get; set; }

        public ApiGroupParam Group { get; set; }

        public List<string> Includes { get; set; }

        public List<ApiOrderParam> Orders { get; set; }

        public List<ApiValueParam> Params { get; set; }
    }
}
